home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / comm / mail / YamNet.lha / rexxtra12.lha / rexx / MkiDir.rexx < prev    next >
OS/2 REXX Batch file  |  1990-03-18  |  2KB  |  64 lines

  1. /* MkiDir.rexx */
  2.  
  3. /*
  4.      Format
  5.  
  6.        MKIDIR [DIR] <directory> [[ICON] <icon>]
  7.  
  8.    Create a drawer/directory and/or attach an icon to it.
  9.    Default is "SYS:DrawerIcon". Change program if need
  10.    a different icon.
  11.  
  12. */
  13.  
  14. signal on failure; signal off error; signal on syntax; signal on break_c
  15. options failat 10
  16. call addlib 'rexxextra.library',-20,-30,0
  17.  
  18. facility = 'MkiDir'
  19. retcode = 0
  20. dtemplate = 'DIR/A,ICON/K'
  21. template = 'ICON/K,DIR/A'
  22. args. = ''
  23. args.ICON = 'SYS:DrawerIcon'
  24.  
  25. parse arg g_c
  26. do while g_c='?'
  27.   options prompt dtemplate': '  /* this template is      */
  28.   parse pull g_c        /* displayed to the user */
  29.   if g_c='?' then do
  30.     g_s=sourceline(3)
  31.     if pos('/*',g_s)=0 then break; if pos('*/',g_s)>0 then break
  32.     say
  33.     g_s=sourceline(4)
  34.     do i=5 while pos('*/',g_s)=0; say g_s; g_s=sourceline(i); end
  35.     say
  36.     end
  37.   end
  38. interpret Cparse(g_c,template,'args')
  39. if args.ERRCODE > 1 then do; say facility'-E-BADARGS,' args.ERRTEXT; exit 5; end
  40.  
  41. dummy = makedir(args.DIR)
  42. if ~exists(args.ICON) then
  43.   say facility'-E-NOTFND, icon file "'args.ICON'" does not exist.'
  44. else if ~exists(args.DIR'.info') then do
  45.   'Copy' args.ICON args.DIR'.info'
  46.   retcode = rc
  47.   end
  48. else
  49.   say facility'-W-HASICON,' args.DIR 'already has an icon'
  50. exit retcode
  51.  
  52. break_c:
  53. break_d:
  54. break_e:
  55. break_f:
  56.   say facility'-E-BREAK, Control-C interrupt'; retcode = 20; signal GetOut
  57. failure:
  58.   say facility'-E-FAIL, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  59. syntax:
  60.   say facility'-E-SYNTAX, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  61. error:
  62.   say facility'-E-ERROR, Line:' sigl', Error:' rc; retcode = rc; signal GetOut
  63.  
  64.